Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

212
Visualizações
Cómo solucionar el problema "Error de tipo: letras.pop no es una función" en mi código

Estoy trabajando en un problema que requiere que invierta una cadena sin tener que cambiar la posición de los caracteres que no son cadenas, caracteres como !, (, ), | y así.

Creo que casi he terminado de resolver el problema, pero sigo recibiendo el error TypeError: letters.pop is not a function , intenté verificar cuál podría ser la causa de la posición y obtuve una pista de que .pop no se puede usar en ningún tipo de datos eso no es una matriz. Estoy usando el método .pop en una matriz que en realidad es una matriz válida, pero sigo recibiendo el error.

Creo que me estoy perdiendo algo y me alegraría si alguien pudiera mostrarlo.

 let word = "hello-world!" const isLetter = (word) => { return word.toUpperCase() !== word.toLowerCase() } const letters = (word) => { return [...word].filter((letter) => isLetter(letter)) } const reverseWord = [...word].map((letter) => isLetter(letter) ? letters.pop() : letter).join("") console.log(reverseWord)
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

letters.pop() no es una función. pop() es una función en arreglos, pero letters no es un arreglo. es una funcion ¿Querías invocarlo?:

 letters(word).pop()

Aunque tenga en cuenta que la función devuelve una nueva matriz cada vez que se invoca. Entonces esa operación realmente no hace nada útil. ¿Quizás, en cambio, pretendía invocar la función de inmediato y solo una vez y hacer que las letters almacenen la matriz resultante?:

 const letters = ((word) => { return [...word].filter((letter) => isLetter(letter)) })(word);

Nota: No puedo decir si esto hará que todo su programa funcione como se esperaba. La lógica me parece extraña y es posible que también haya otros problemas. Pero el punto principal aquí es que las letters en sí mismas no son una matriz en el código original, es una función que devuelve una matriz.

about 4 years ago · Juan Pablo Isaza Relatório

0

Es porque las letras eran una función de flecha, no una matriz. Intenté reproducir su problema e hice algunos cambios en él. He adjuntado un fragmento de código de trabajo (está devolviendo la cadena en orden inverso). Espero que así es como querías que funcionara.

 let word = "hello-world!" const isLetter = (word) => { return word.toUpperCase() !== word.toLowerCase() } const letters = [...word].filter((letter) => isLetter(letter)) const reverseWord = [...word].map((letter) => isLetter(letter) ? letters.pop() : letter).join("") console.log(reverseWord)

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda